package com.example.teachingevaluationsystem.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.teachingevaluationsystem.entity.Role;
import com.example.teachingevaluationsystem.vo.RoleVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 角色 Mapper 接口
 *
 * @author 王妍
 * @since 2022-02-20
 */
@Mapper
public interface RoleMapper extends BaseMapper<Role> {

  /**
   * 获取用户相关的角色信息
   *
   * @param userId 用户id
   * @return 返回用户的角色集合
   */
  List<String> loadUserRoleByUserId(@Param("userId") Long userId);

  /**
   * 加载角色列表
   *
   * @param roleVoPage 角色分页条件
   * @param roleVo 角色条件
   * @return 角色页
   */
  Page<RoleVo> loadPage(Page<RoleVo> roleVoPage, RoleVo roleVo);

  /**
   * 查询属于用户用户的角色
   *
   * @param userId 用户ID
   * @return 角色列表
   */
  List<Role> selectByUserId(Long userId);

  List<Role> selectByMenuId(Long menuId);
}
